今天進度 :
筆記 :
欄列變數 :
變數名稱 | 代表意義 |
---|---|
NF | 每一行 ($0) 擁有的欄位總數 |
NR | 目前 awk 所處理的是『第幾行』資料 |
FS | 目前的分隔字元,預設是空白鍵 |
test@test:~$ last -n 5| awk '{print $1 "\t 第幾行: " NR "\t 第幾欄: " NF}'
test 第幾行: 1 第幾欄: 10
test 第幾行: 2 第幾欄: 10
test 第幾行: 3 第幾欄: 10
test 第幾行: 4 第幾欄: 10
test 第幾行: 5 第幾欄: 10
test 第幾行: 6 第幾欄: 0
wtmp 第幾行: 7 第幾欄: 7
實現加總欄位
test@test:~$ vi demo2.txt
Name 1st 2nd 3th
A 10 20 20
B 10 20 20
C 10 20 20
test@test:~$ cat demo2.txt | \
> awk 'NR==1{printf "%10s %10s %10s %10s %10s\n",$1,$2,$3,$4,"Total" }
> NR>=2{total = $2 + $3 + $4
> printf "%10s %10d %10d %10d %10.2f\n", $1, $2, $3, $4, total}'
name 1st 2nd 3th Total
A 10 20 20 50.00
B 10 20 20 50.00
C 10 20 20 50.00
awk 小總結筆記 :
補充 :
另外分享今天看到有人居然用 awk 實現一個簡單資料庫 用 awk 实现一个关系型数据库 - Fantasy
太厲害了 OoO +